package com.gqz.equip.api;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gqz.common.core.domain.R;
import com.gqz.common.core.domain.RequestForm;
import com.gqz.equip.vo.TEnWzEquipBqVo;
import com.gqz.equip.vo.TEnWzEquipVo;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.*;

import java.util.List;


/**
 * 新能源-物资-设备标签表
 *
 * @author gqz20
 * @date 2023/02/25
 */
@RequestMapping("/t-en-wz-equip-bq")
public interface TEnWzEquipBqApi {
    @PostMapping("/{id}")
    public R<List<TEnWzEquipBqVo>> getById(
            @PathVariable("id") String id);

    @PostMapping("/pageBqList")
    public R<Page<TEnWzEquipBqVo>> pageBqList(
            @RequestBody RequestForm<TEnWzEquipBqVo> requestForm);

    @PostMapping("/update")
    public R<Integer> update(
            @RequestBody List<TEnWzEquipBqVo> vos);

    @PostMapping("/getList")
    public R<List<TEnWzEquipBqVo>> getList(
            @RequestBody TEnWzEquipBqVo requestForm);

    /**
     * 二维码分页查询
     *
     * @param requestForm 申请表
     * @return {@link R}<{@link Page}<{@link TEnWzEquipVo}>>
     */
    @PostMapping("/ewmPage")
    public R<Page<TEnWzEquipVo>> ewmPage(
            @RequestBody RequestForm<TEnWzEquipVo> requestForm);

    /**
     * 生成二维码（包含批量操作
     *
     * @param vos 你
     * @return {@link R}<{@link Integer}>
     */
    @PostMapping("/getEwmByList")
    public R<Integer> creatEwmByList(
            @RequestBody List<TEnWzEquipVo> vos);

    /**
     * 获取二维码列表（用来导出）
     *
     * @param requestForm 申请表
     * @return {@link R}<{@link List}<{@link TEnWzEquipBqVo}>>
     */
    @PostMapping("/getListEwm")
    public R<List<TEnWzEquipBqVo>> getListEwm(
            @RequestBody TEnWzEquipBqVo requestForm);

    /**
     * 根据SBBM获取信息
     *
     * @param sbbm
     * @return {@link R}<{@link List}<{@link TEnWzEquipBqVo}>>
     */
    @PostMapping("/getEwmBySbbm")
    public R<List<TEnWzEquipBqVo>> getEwmBySbbm(@RequestParam(name = "sbbm", required = true) String sbbm);


    /**
     * 导出excel
     *
     * @param response    回答
     * @param requestForm 申请表
     */
    @PostMapping("/export/excel")
    public void exportExcel(
            HttpServletResponse response,
            @RequestBody RequestForm<TEnWzEquipBqVo> requestForm);
}
